import {useLocation} from "react-router-dom";
import {useMemo} from "react";

// 封装一个自定义hook
// 方法区别
const useSearch = (key) => {
  const location = useLocation() // 使用了useContext所以必须是一个hook
  // // 只要组件内部任何内容更新，都会重新获取参数
  // // 只有当我的依赖项发生了变化的时候，才去重新获取参数
  const q = useMemo(() => {
    const params = new URLSearchParams(location.search)
    return params.get(key);
  }, [location.search, key]);
  return [q]
}

export default useSearch
